package com.moliku.insurance.model.dto.pingan.personal.insure;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.List;

@Data
public class PingAnRiskPersonInfoListParam {

    /**
     *名称,
     *【必填】
     */
    @ApiModelProperty("名称")
    @NotBlank(message ="名称,不能为空")
    private String name;

    /**
     *出生日期 Date yyyy-MM-dd,
     *【非身份证时必填】
     */
    @ApiModelProperty("出生日期 Date yyyy-MM-dd")
    @NotBlank(message ="出生日期 Date yyyy-MM-dd,不能为空")
    private String birthday;

    /**
     *年龄 Integer,
     *【非身份证时必填】
     */
    @ApiModelProperty("年龄 Integer")
    @NotNull(message ="年龄 Integer,不能为空")
    private Integer age;

    /**
     *性别F,M,
     *【非身份证时必填】
     */
    @ApiModelProperty("性别FM")
    @NotBlank(message ="性别F,M,不能为空")
    private String sexCode;

    /**
     *证件号码,
     *【必填】
     */
    @ApiModelProperty("证件号码")
    @NotBlank(message ="证件号码,不能为空")
    private String certificateNo;

    /**
     *证件类型 ,01
     *【必填】
     */
    @ApiModelProperty("证件类型 01")
    @NotBlank(message ="证件类型 ,01不能为空")
    private String certificateType;

    /**
     *实交保费 Double,
     *【必填】
     */
    @ApiModelProperty("实交保费 Double")
    @NotNull(message ="实交保费 Double,不能为空")
    private Double totalActualPremium;

    /**
     *地址,
     *【选填】
     */
    @ApiModelProperty("地址")
    private String address;

    /**
     *被保人与投保人关系[被保人与投保人关系：1-本人、2-配偶、3-父子、4-父女、5-受益人、6-被保人、7-投保人、8-转换不详、9-其他、A-母子、B-母女、C-兄弟、D-姊妹、E-兄妹、F姐弟、G-祖孙、H-雇佣、I -子女],
     *【选填】
     */
    @ApiModelProperty("被保人与投保人关系[被保人与投保人关系：1-本人、2-配偶、3-父子、4-父女、5-受益人、6-被保人、7-投保人、8-转换不详、9-其他、A-母子、B-母女、C-兄弟、D-姊妹、E-兄妹、F姐弟、G-祖孙、H-雇佣、I -子女]")
    private String relationshipWithApplicant;

    /**
     *人员属性200虚拟被保人100真实被保人010连带被保人 ,
     *【选填，默认100】
     */
    @ApiModelProperty("人员属性200虚拟被保人100真实被保人010连带被保人 ")
    private String personnelAttribute;

    /**
     * 选填 受益人 默认法定
     */
    @ApiModelProperty("选填 受益人 默认法定")
    private List<PingAnBeneficaryInfoListParam> beneficaryInfoList;

    /**
     * 选填：备注：非标产品必填,每标的物的责任信息,每个标的的责任的保额、保费不一样则必填
     */
    @ApiModelProperty("选填：备注：非标产品必填,每标的物的责任信息,每个标的的责任的保额、保费不一样则必填")
    private List<PingAnRiskDutyListParam> riskDutyList;

}
